Houdini数学 : グリッドを球体へ変形
球面の方程式
半径1の球体は x,y,zを使って以下のように書くことができます。
$ x^2 + y^2 + z^2 = 1
yについて書くと、以下のように書くことができます。
$ y^2 = 1 - x^2 - z^2
両辺の平方根 $ \sqrt{} をとります。
$ y = \pm \sqrt{1 - x^2 - z^2 }
球の上半分 ( $ y \geqq 0 )は以下のようになります。
$ y = \sqrt{1 - x^2 - z^2 }
Houdiniへの応用 : グリッドを球に変形させてみる
1. 正方形の準備
Gridノードを使用して辺の長さが2の正方形を作成します。
table:Gridパラメータ
Size {2, 2}
Rows 24
Columns 24
https://gyazo.com/932c8ca29ceb1675f0fb566ec43a10d1
2. 半球に変形
先ほど、以下のような半球の方程式を求めました。
$ y = \sqrt{1 - x^2 - z^2 }
これをVEXで書くと以下のようになります。
code:AttributeWrangle(c)
@P.y = sqrt(1 - @P.x * @P.x - @P.z * @P.z);
Houdini上で実装すると以下のようになります。
https://gyazo.com/8930a1ec582b2f0d00e4ab93416627c8